Some computer programs may provide a user interface, such as a graphical user interface. A graphical user interface may include one or more user interface elements, such as text fields, images, buttons, and menus, to name only a few examples. Various information and/or actions may be associated with the user interface elements. For example, a computer program may assign a value, such as a name, to a text field, such that a computing device executing the computer program displays the name in the text field. In another example, a computer program may associate an action with a button, such that when a user input selects the button, the computing device executing the computer program performs the action.
A computer program that provides a graphical user interface may be written to separate the data (e.g., model or model object) and the presentation logic (e.g., view) into different, but interoperable components. In some examples, controller logic (e.g., controller) may send commands to update the model and/or send commands to update the view. As such, the presentation logic may output the data from the model in the graphical user interface and/or receive user inputs at the graphical user interface that modify the data in a model. To facilitate the display and modification of such data, a computer program may include data bindings, which programmatically associate or otherwise link user interface elements to a model. By linking a user interface element to the model, a computer program may update a user interface element that corresponds to the model, if the model changes. However, data binding techniques may be computationally expensive and may require substantial computing resources.